package service;

import java.util.ArrayList;

import bean.Pais;
import bean.VOList;
import bean.vo.PaisVO;

@SuppressWarnings({"unchecked"})
public abstract class ServiciosPais {

	protected static Pais buscarPais (String nombre) throws Exception{
		Pais pais = (Pais) SistemaCVR.getInstancia().buscarEntidad(new Pais(nombre));
		return pais;
	}
	
	public static PaisVO buscarPais (PaisVO p) throws Exception{
		Pais pais = ServiciosPais.buscarPais(p.getNombre());
		return pais != null ? pais.getVO() : null;
	}
	
	public static ArrayList<PaisVO> getPaises() throws Exception{
		return new VOList<PaisVO>().getVoList(SistemaCVR.getInstancia().getEntidades(Pais.class.getName()));
	}
	
	public static void crearPais (PaisVO p) throws Exception {
		if (ServiciosPais.buscarPais(p.getNombre()) == null) {
			Pais pais = new Pais(p.getNombre());
			SistemaCVR.getInstancia().agregarEntidad(pais);
		} else {
			throw new Exception("ERROR - Ya existe un pais con el nombre ingresado.");
		}
	}
	
	public static void elimiarPais (PaisVO p) throws Exception {
		Pais pais = ServiciosPais.buscarPais(p.getNombre());
		if (pais != null ){
			SistemaCVR.getInstancia().eliminarEntidad(pais);
		} else {
			throw new Exception("ERROR - No existe el pais con el nombre ingresado.");
		}
	}
}
